package com.rz.htk.product.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rz.core.common.model.PageEntity;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @ClassName Product
 * @Description 产品信息
 * @Author maweiyue
 * @Date 2019/3/26 20:37
 */
@TableName("prd_product")
public class Product extends PageEntity {
    @TableId(type = IdType.AUTO)
    private Integer id;

    /** 产品名称*/
    private String prdName;

    /** 产品编号 */
    private String prdCode;

    /** 快递公司编号 */
    private String expressCode;

    /** 限重 */
    private int maxWeight;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT-8")
    private LocalDateTime crteTime;

    /** 创建者 */
    private Integer crteMngId;

    /** 状态 */
    private int delFlag;

    /** 默认单位 */
    private String unit;

    /** 快递类型（平邮:1 / 挂号信:2） */
    private String expressType;

    /** 面单模板 */
    private Integer expressTemplate;

    /** 报关单模板 */
    private Integer customsDeclarationTemplate;

    /** 清关单模板 */
    private Integer customsClearanceTemplate;

    /** 第三方对接方式：api/excel */
    private String apiType;

    /** 第三方对接key */
    private String apiKey;

    /** 第三方对接url */
    private String apiUrl;

    /** 对接第三方时导出的订单模板 */
    private Integer apiOrderTemplate;

    /** 服务商内部产品编号(此值只能由系统对接人员手动填入数据库)，比如E邮宝，在邮政系统中的编号是“001” */
    private String serviceCode;

    /** 备注 */
    private String rmk;

    @TableField(exist = false)
    private String unitName;

    /** 产品资费列表 */
    @TableField(exist = false)
    private List<ProductPrice> productPriceList;

    /** 服务商名称（快递公司名称） */
    @TableField(exist = false)
    private String expressServiceProvider;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getPrdName() {
        return prdName;
    }

    public void setPrdName(String prdName) {
        this.prdName = prdName;
    }

    public String getPrdCode() {
        return prdCode;
    }

    public void setPrdCode(String prdCode) {
        this.prdCode = prdCode;
    }

    public String getExpressCode() {
        return expressCode;
    }

    public void setExpressCode(String expressCode) {
        this.expressCode = expressCode;
    }

    public int getMaxWeight() {
        return maxWeight;
    }

    public void setMaxWeight(int maxWeight) {
        this.maxWeight = maxWeight;
    }

    public LocalDateTime getCrteTime() {
        return crteTime;
    }

    public void setCrteTime(LocalDateTime crteTime) {
        this.crteTime = crteTime;
    }

    public Integer getCrteMngId() {
        return crteMngId;
    }

    public void setCrteMngId(Integer crteMngId) {
        this.crteMngId = crteMngId;
    }

    public int getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(int delFlag) {
        this.delFlag = delFlag;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public Integer getExpressTemplate() {
        return expressTemplate;
    }

    public void setExpressTemplate(Integer expressTemplate) {
        this.expressTemplate = expressTemplate;
    }

    public Integer getCustomsDeclarationTemplate() {
        return customsDeclarationTemplate;
    }

    public void setCustomsDeclarationTemplate(Integer customsDeclarationTemplate) {
        this.customsDeclarationTemplate = customsDeclarationTemplate;
    }

    public Integer getCustomsClearanceTemplate() {
        return customsClearanceTemplate;
    }

    public void setCustomsClearanceTemplate(Integer customsClearanceTemplate) {
        this.customsClearanceTemplate = customsClearanceTemplate;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public List<ProductPrice> getProductPriceList() {
        return productPriceList;
    }

    public void setProductPriceList(List<ProductPrice> productPriceList) {
        this.productPriceList = productPriceList;
    }

    public String getRmk() {
        return rmk;
    }

    public void setRmk(String rmk) {
        this.rmk = rmk;
    }

    public String getApiType() {
        return apiType;
    }

    public void setApiType(String apiType) {
        this.apiType = apiType;
    }

    public String getApiKey() {
        return apiKey;
    }

    public void setApiKey(String apiKey) {
        this.apiKey = apiKey;
    }

    public String getApiUrl() {
        return apiUrl;
    }

    public void setApiUrl(String apiUrl) {
        this.apiUrl = apiUrl;
    }

    public Integer getApiOrderTemplate() {
        return apiOrderTemplate;
    }

    public void setApiOrderTemplate(Integer apiOrderTemplate) {
        this.apiOrderTemplate = apiOrderTemplate;
    }

    public String getExpressType() {
        return expressType;
    }

    public void setExpressType(String expressType) {
        this.expressType = expressType;
    }

    public String getExpressServiceProvider() {
        return expressServiceProvider;
    }

    public void setExpressServiceProvider(String expressServiceProvider) {
        this.expressServiceProvider = expressServiceProvider;
    }

    public String getServiceCode() {
        return serviceCode;
    }

    public void setServiceCode(String serviceCode) {
        this.serviceCode = serviceCode;
    }
}
